home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1987-03-15 | 14.6 KB | 518 lines
100 REM UPDATPER Program. 110 REM Data Entry to the Persons File 120 REM Copyright (c) 1983 - 1987 by: Melvin O. Duke. 130 DEFINT A-Z 600 REM Titles 610 TITLE$ = "Update the Persons File" 620 TITLE$ = TITLE$ + " ON DISPLAY" 700 REM Terminate if not called from the Menu 710 IF DD.MENU$ <> "" THEN 770 720 COLOR 7,0 : KEY ON : CLS : LOCATE 15,1 730 PRINT "Cannot run the" 740 PRINT TITLE$ 750 PRINT "Program, unless selected from the MENU" 760 END 770 REM OK 1000 REM Produce the first screen 1010 KEY ON : CLS : KEY OFF 1020 REM Draw the outer double box 1030 R1 = 1 : C1 = 1 : R2 = 24 : C2 = 79 : GOSUB 1300 1040 REM Find the title location 1050 TITLE.POS = 40 - INT(LEN(TITLE$)/2) 1060 REM Draw the title box 1070 R1=3:C1=TITLE.POS-2:R2=6:C2=TITLE.POS+LEN(TITLE$)+1:GOSUB 1500 1080 REM Print the title 1090 LOCATE 4,TITLE.POS : PRINT TITLE$ 1100 LOCATE 5,40-INT(LEN(VERSION$)/2) : PRINT VERSION$; 1230 REM Draw the Copyright box 1240 R1 = 19 : C1 = 21 : R2 = 22 : C2 = 59 : GOSUB 1300 1250 REM Print the Copyright 1260 LOCATE 20,40-INT(LEN(COPY1$)/2) : PRINT COPY1$; 1270 LOCATE 21,40-INT(LEN(COPY2$)/2) : PRINT COPY2$; 1280 GOTO 1700 1300 REM subroutine to print a double box 1310 COLOR P 1320 FOR I = R1 + 1 TO R2 - 1 1330 LOCATE I, C1 : PRINT CHR$(186); 1340 LOCATE I, C2 : PRINT CHR$(186); 1350 NEXT I 1360 LOCATE R1, C1+1 : PRINT STRING$(C2-C1-1,205); 1390 LOCATE R2, C1+1 : PRINT STRING$(C2-C1-1,205); 1400 LOCATE R1, C1 : PRINT CHR$(201); 1410 LOCATE R1, C2 : PRINT CHR$(187); 1420 LOCATE R2, C1 : PRINT CHR$(200); 1430 LOCATE R2, C2 : PRINT CHR$(188); 1440 COLOR W 1450 RETURN 1500 REM subroutine to print a single box 1510 COLOR B 1520 FOR I = R1 + 1 TO R2 - 1 1530 LOCATE I, C1 : PRINT CHR$(179); 1540 LOCATE I, C2 : PRINT CHR$(179); 1550 NEXT I 1560 LOCATE R1, C1+1 : PRINT STRING$(C2-C1-1,196); 1590 LOCATE R2, C1+1 : PRINT STRING$(C2-C1-1,196); 1600 LOCATE R1, C1 : PRINT CHR$(218); 1610 LOCATE R1, C2 : PRINT CHR$(191); 1620 LOCATE R2, C1 : PRINT CHR$(192); 1630 LOCATE R2, C2 : PRINT CHR$(217); 1640 COLOR W 1650 RETURN 1700 REM ask user to press a key to continue 1710 LOCATE 25,1 1720 PRINT "Have Data Diskette(s) in Place, then Press any key to continue."; 1730 K$ = INKEY$ : IF K$ = "" THEN 1730 1740 KEY ON : CLS : KEY OFF 2000 REM UPDATPER Program Starts Here. 2010 OPEN DD.PERS$+"persfile" AS #1 LEN = 256 2020 FIELD 1, 5 AS F1$, 20 AS F2$, 30 AS F3$, 2 AS F4$, 5 AS F5$, 5 AS F6$, 5 AS F7$, 11 AS F8$, 18 AS F9$, 16 AS F10$, 16 AS F11$, 11 AS F12$, 18 AS F13$, 16 AS F14$, 16 AS F15$, 11 AS F16$, 18 AS F17$, 16 AS F18$, 16 AS F19$ 2030 REM ask the user for input 2040 LOCATE 23,1 : PRINT SPACE$(79); 2050 LOCATE 23,1 : PRINT "(0 to quit, ? to locate unused record)"; 2060 LOCATE 22,1 : PRINT SPACE$(79) : LOCATE 22,1 2070 LINE INPUT "Enter Record Number of Person to Update: "; REPLY$ 2080 IF REPLY$ <> "?" THEN 2240 2090 REM Locate an unused record 2100 FOUND = 0 : IF REC.NO = 0 THEN REC.NO = 1 2110 FOR LOOK = REC.NO TO MAX.PER 2120 GET #1, LOOK 2130 LOCATE 15,1 : PRINT "Searching Record";LOOK; 2140 T1 = CVS(F1$) 2150 IF T1 > 0 THEN 2170 2160 FOUND = 1 : REC.NO = LOOK : LOOK = MAX.PER 2170 NEXT LOOK 2180 IF FOUND = 1 THEN 2330 2190 PRINT "Unable to find an unused record above record";REC.NO 2200 PRINT "Either start from record 1 or extend the file" 2210 PRINT "Press any key to continue" 2220 A$ = INKEY$ : IF A$ = "" THEN 2220 2230 GOTO 2030 2240 IF REPLY$ = "0" THEN 6280 2250 REC.NO = VAL(REPLY$) 2260 IF REC.NO < 1 OR REC.NO > MAX.PER THEN 2270 ELSE 2320 2270 PRINT : PRINT "Number is out of range" 2280 PRINT "Press any key to continue" 2290 A$ = INKEY$ : IF A$ = "" THEN 2290 2300 KEY ON : CLS : KEY OFF 2310 GOTO 2030 2320 GET #1, REC.NO 2330 REM Extract information from the file for use 2340 T1! = CVS(F1$) : T1 = T1! 2350 REM Disallow Update if Rec.no is Zero (never Created) 2360 IF T1 <> 0 THEN 2420 2370 LOCATE 22,1 : PRINT SPACE$(79);: LOCATE 23,1 : PRINT SPACE$(79);: LOCATE 22,1 2380 PRINT "Record Number is Zero. Must run the CREATPER Program First." 2390 LOCATE 25,1 : PRINT "Press any key to continue"; 2400 A$ = INKEY$ : IF A$ = "" THEN 2400 2410 GOTO 6280 'Close the Files and return to the Menu 2420 T2$ = F2$ 'Surname 2430 T3$ = F3$ 'Given Names 2440 FOR J = 1 TO LEN(F3$)-1 2450 IF RIGHT$(T3$,1)=" "THEN T3$ = LEFT$(T3$,LEN(T3$)-1) ELSE J = LEN(F3$)-1 2460 NEXT J 2470 T4$ = F4$ 'Sex 2480 IF LEFT$(T4$,1) = MALE.LTR$ THEN T4$ = MALE.SEX$ 2490 IF LEFT$(T4$,1) = FEMALE.LTR$ THEN T4$ = FEMALE.SEX$ 2500 T5! = CVS(F5$) 'Code 2510 T6! = CVS(F6$) : T6 = T6! 'Father's No. 2520 T7! = CVS(F7$) : T7 = T7! 'Mother's No. 2530 T8$ = F8$ 'Birthdate 2540 T9$ = F9$ 2550 T10$ = F10$ 2560 T11$ = F11$ 2570 T12$ = F12$ 'Death Date 2580 T13$ = F13$ 2590 T14$ = F14$ 2600 T15$ = F15$ 2610 T16$ = F16$ 'Burial Date 2620 T17$ = F17$ 2630 T18$ = F18$ 2640 T19$ = F19$ 2650 KEY ON : CLS : KEY OFF 2660 R1 = 1 : C1 = 1 : R2 = 21 : C2 = 79 : GOSUB 1300 'Double box 2670 R1 = 3 : C1 = 1 : R2 = 3 : C2 = 79 : GOSUB 3730 'Horizontal double 2680 LOCATE 2,3 : PRINT "Personal Information of:" 2690 R1 = 3 : C1 = 43 : R2 = 21 : C2 = 43 : GOSUB 3870 'Vertical Double 2700 LOCATE 4,3 : COLOR N : PRINT "Person:"; : COLOR O 2710 LOCATE 5,3 : PRINT "Record-number:"; 2720 LOCATE 7,3 : PRINT "Surname:"; 2730 LOCATE 9,3 : PRINT "Given-names:"; 2740 LOCATE 11,3 : PRINT "Sex:"; 2750 LOCATE 12,3 : PRINT "Code:"; 2760 R1 = 13 : C1 = 1 : R2 =13 : C2 = 43 : GOSUB 3730 'Horizontal Double 2770 LOCATE 14,3 : COLOR N : PRINT "Person's Father:"; : COLOR O 2780 LOCATE 15,3 : PRINT "Record-number:"; 2790 LOCATE 16,3 : PRINT "Name:"; 2800 R1 = 17 : C1 = 1 : R2 = 17 : C2 = 43 : GOSUB 3800 'Horizontal Single 2810 LOCATE 18,3 : COLOR N : PRINT "Person's Mother:"; : COLOR O 2820 LOCATE 19,3 : PRINT "Record-number:"; 2830 LOCATE 20,3 : PRINT "Name:"; 2840 LOCATE 4,45 : COLOR N : PRINT "Person's Vital Statistics:"; : COLOR O 2850 LOCATE 6,45 : PRINT "Birth-date:"; 2860 LOCATE 7,45 : PRINT "Birth-city:"; 2870 LOCATE 8,45 : PRINT "Birth-county:"; 2880 LOCATE 9,45 : PRINT "State/Country:"; 2890 LOCATE 11,45 : PRINT "Death-date:"; 2900 LOCATE 12,45 : PRINT "Death-city:"; 2910 LOCATE 13,45 : PRINT "Death-county:"; 2920 LOCATE 14,45 : PRINT "State/Country:"; 2930 LOCATE 16,45 : PRINT "Burial-date:"; 2940 LOCATE 17,45 : PRINT "Burial-city:"; 2950 LOCATE 18,45 : PRINT "Burial-county:"; 2960 LOCATE 19,45 : PRINT "State/Country:"; 2970 GOSUB 2990 'To print the current information 2980 GOTO 3960 'For User Input 2990 REM Print the Information Currently Present 3000 LOCATE 2,28 : PRINT SPACE$(50); : COLOR W 3010 LOCATE 2,28 : PRINT LEFT$(T3$ + " " + T2$,50); 3020 LOCATE 6,8 : PRINT SPACE$(5); 3030 LOCATE 6,8 : COLOR G : PRINT T1; 3040 LOCATE 8,9 : PRINT SPACE$(20); 3050 LOCATE 8,9 : COLOR G : PRINT LEFT$(T2$,20); 3060 LOCATE 10,9 : PRINT SPACE$(30); 3070 LOCATE 10,9 : COLOR G : PRINT LEFT$(T3$,30); 3080 LOCATE 11,9 : PRINT SPACE$(20); 3090 LOCATE 11,9 : COLOR G : PRINT LEFT$(T4$,20); 3100 LOCATE 12,8 : PRINT SPACE$(15); 3110 LOCATE 12,8 : COLOR G : PRINT T5!; 3120 LOCATE 15,18 : PRINT SPACE$(5); 3130 LOCATE 15,18 : COLOR G : PRINT T6; 3140 REM Obtain the Father's Record 3150 IF T6 = 0 THEN SN$ = " " : GN$ = " " : GOTO 3250 3160 GET #1, T6 3170 SN$ = F2$ : GN$ = F3$ 3180 REM right-trim the names 3190 FOR J = 1 TO LEN(F2$)-1 3200 IF RIGHT$(SN$,1)=" "THEN SN$=LEFT$(SN$,LEN(SN$)-1) ELSE J=LEN(F2$)-1 3210 NEXT J 3220 FOR J = 1 TO LEN(F3$)-1 3230 IF RIGHT$(GN$,1)=" "THEN GN$=LEFT$(GN$,LEN(GN$)-1) ELSE J=LEN(F3$)-1 3240 NEXT J 3250 NM$ = SN$ + ", " + GN$ 3260 IF SN$ = " " OR GN$ = " " THEN NM$ = SN$ + " " + GN$ 3270 IF SN$ = " " AND GN$ = " " THEN NM$ = " " 3280 LOCATE 16, 9 : PRINT SPACE$(33); 3290 LOCATE 16, 9 : COLOR G : PRINT LEFT$(NM$,33); 3300 LOCATE 19,18 : PRINT SPACE$(5); 3310 LOCATE 19,18 : COLOR G : PRINT T7; 3320 REM Obtain the Mother's Record 3330 IF T7 = 0 THEN SN$ = " " : GN$ = " " : GOTO 3430 3340 GET #1, T7 3350 SN$ = F2$ : GN$ = F3$ 3360 REM right-trim the names 3370 FOR J = 1 TO LEN(F2$)-1 3380 IF RIGHT$(SN$,1)=" "THEN SN$=LEFT$(SN$,LEN(SN$)-1) ELSE J=LEN(F2$)-1 3390 NEXT J 3400 FOR J = 1 TO LEN(F3$)-1 3410 IF RIGHT$(GN$,1)=" "THEN GN$=LEFT$(GN$,LEN(GN$)-1) ELSE J=LEN(F3$)-1 3420 NEXT J 3430 NM$ = SN$ + ", " + GN$ 3440 IF SN$ = " " OR GN$ = " " THEN NM$ = SN$ + " " + GN$ 3450 IF SN$ = " " AND GN$ = " " THEN NM$ = " " 3460 LOCATE 20, 9 : PRINT SPACE$(33); 3470 LOCATE 20, 9 : COLOR G : PRINT LEFT$(NM$,33); 3480 LOCATE 6,60 : PRINT SPACE$(11); 3490 LOCATE 6,60 : COLOR G : PRINT T8$; 3500 LOCATE 7,60 : PRINT SPACE$(18); 3510 LOCATE 7,60 : COLOR G : PRINT T9$; 3520 LOCATE 8,60 : PRINT SPACE$(16); 3530 LOCATE 8,60 : COLOR G : PRINT T10$; 3540 LOCATE 9,60 : PRINT SPACE$(16); 3550 LOCATE 9,60 : COLOR G : PRINT T11$; 3560 LOCATE 11,60 : PRINT SPACE$(11); 3570 LOCATE 11,60 : COLOR G : PRINT T12$; 3580 LOCATE 12,60 : PRINT SPACE$(18); 3590 LOCATE 12,60 : COLOR G : PRINT T13$; 3600 LOCATE 13,60 : PRINT SPACE$(16); 3610 LOCATE 13,60 : COLOR G : PRINT T14$; 3620 LOCATE 14,60 : PRINT SPACE$(16); 3630 LOCATE 14,60 : COLOR G : PRINT T15$; 3640 LOCATE 16,60 : PRINT SPACE$(11); 3650 LOCATE 16,60 : COLOR G : PRINT T16$; 3660 LOCATE 17,60 : PRINT SPACE$(18); 3670 LOCATE 17,60 : COLOR G : PRINT T17$; 3680 LOCATE 18,60 : PRINT SPACE$(16); 3690 LOCATE 18,60 : COLOR G : PRINT T18$; 3700 LOCATE 19,60 : PRINT SPACE$(16); 3710 LOCATE 19,60 : COLOR G : PRINT T19$; : COLOR W 3720 RETURN 3730 REM Subroutine to draw a double horizontal line. Attach to double. 3740 COLOR P 3750 LOCATE R1, C1+1 : PRINT STRING$(C2-C1-1,205); 3760 LOCATE R1,C1 : PRINT CHR$(204); 3770 LOCATE R1,C2 : PRINT CHR$(185); 3780 COLOR W 3790 RETURN 3800 REM Subroutine to draw a single horizontal line. Attach to double. 3810 COLOR P 3820 LOCATE R1, C1+1 : PRINT STRING$(C2-C1-1,196); 3830 LOCATE R1,C1 : PRINT CHR$(199); 3840 LOCATE R1,C2 : PRINT CHR$(182); 3850 COLOR W 3860 RETURN 3870 REM Subroutine to draw a double vertical line. Attach to double. 3880 COLOR P 3890 FOR I = R1 + 1 TO R2 - 1 3900 LOCATE I,C1 : PRINT CHR$(186); 3910 NEXT I 3920 LOCATE R1,C1 : PRINT CHR$(203); 3930 LOCATE R2,C1 : PRINT CHR$(202); 3940 COLOR W 3950 RETURN 3960 REM Routines to Obtain information from the User 3970 LOCATE 22,1 : PRINT SPACE$(79); 3980 LOCATE 23,1 : PRINT SPACE$(79); 3990 LOCATE 24,1 : PRINT SPACE$(79); 4000 KEY ON 4010 LOCATE 24,1 : PRINT "('enter' to leave alone, '/ enter' to end record, or reply as shown.)"; 4020 LOCATE 23,1 4030 LINE INPUT "Enter the Record Number: ";REPLY$ 4040 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4050 IF REPLY$ = "/" THEN 5920 4060 IF REPLY$ = "" THEN 4170 4070 IF ABS(VAL(REPLY$)) = ABS(T1) THEN 4140 ELSE 4080 4080 REM Prevent Change of Rec.no 4090 LOCATE 22,1 : PRINT SPACE$(79); : LOCATE 24,1 : PRINT SPACE$(79); : LOCATE 22,1 4100 PRINT "Cannot Change the Record Number to another number."; 4110 KEY OFF : LOCATE 25,1 : PRINT "Press any key to continue"; 4120 A$ = INKEY$ : IF A$ = "" THEN 4120 4130 GOTO 3960 4140 T1 = VAL(REPLY$) 4150 IF T1 < 1 THEN GOSUB 6320 : GOSUB 2990 : GOTO 5920 'Negative 4160 GOSUB 2990 4170 LOCATE 23,1 : PRINT SPACE$(79); 4180 REM Terminate record update if rec.no is negative 4190 IF T1 < 0 THEN 5920 4200 LOCATE 23,1 4210 PRINT "Enter the Person's Surname (all capital letters): "; 4220 LINE INPUT REPLY$ 4230 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4240 IF REPLY$ = "/" THEN 5920 4250 IF REPLY$ = "" THEN 4280 4260 T2$ = LEFT$(REPLY$,20) 4270 GOSUB 2990 4280 LOCATE 23,1 : PRINT SPACE$(79); 4290 LOCATE 23,1 4300 PRINT "Enter the Person's Given Names: "; 4310 LINE INPUT REPLY$ 4320 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4330 IF REPLY$ = "/" THEN 5920 4340 IF REPLY$ = "" THEN 4370 4350 T3$ = LEFT$(REPLY$,30) 4360 GOSUB 2990 4370 LOCATE 23,1 : PRINT SPACE$(79); : LOCATE 23,1 4380 PRINT "Enter the Person's Sex (";MALE.LTR$;" for ";MALE.SEX$; 4390 PRINT " or ";FEMALE.LTR$;" for ";FEMALE.SEX$;"): "; 4400 LINE INPUT REPLY$ 4410 LOCATE 24,1 : PRINT SPACE$(79); 4420 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4430 IF REPLY$ = "/" THEN 5920 4440 IF REPLY$ = "" THEN 4510 4450 T4$ = LEFT$(REPLY$,2) 4460 IF LEFT$(REPLY$,1) = CHR$(ASC(MALE.LTR$)+32) THEN T4$ = MALE.SEX$ 4470 IF LEFT$(REPLY$,1) = MALE.LTR$ THEN T4$ = MALE.SEX$ 4480 IF LEFT$(REPLY$,1) = CHR$(ASC(FEMALE.LTR$)+32) THEN T4$ = FEMALE.SEX$ 4490 IF LEFT$(REPLY$,1) = FEMALE.LTR$ THEN T4$ = FEMALE.SEX$ 4500 GOSUB 3080 4510 LOCATE 23,1 : PRINT SPACE$(79); 4520 LOCATE 23,1 4530 LINE INPUT "Enter the Person's Code: ";REPLY$ 4540 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4550 IF REPLY$ = "/" THEN 5920 4560 IF REPLY$ = "" THEN 4590 4570 T5! = VAL(REPLY$) 4580 GOSUB 3100 4590 LOCATE 23,1 : PRINT SPACE$(79); 4600 LOCATE 23,1 4610 LINE INPUT "Enter the Father's Record Number: ";REPLY$ 4620 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4630 IF REPLY$ = "/" THEN 5920 4640 IF REPLY$ = "" THEN 4700 4650 T6 = VAL(REPLY$) 4660 IF T6 >= 0 AND T6 <= MAX.PER THEN 4680 4670 LOCATE 22,1 : PRINT "Number out of Range"; : GOTO 4590 4680 LOCATE 22,1 : PRINT SPACE$(79); 4690 GOSUB 3120 4700 LOCATE 23,1 : PRINT SPACE$(79); 4710 LOCATE 23,1 4720 LINE INPUT "Enter the Mother's Record Number: ";REPLY$ 4730 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4740 IF REPLY$ = "/" THEN 5920 4750 IF REPLY$ = "" THEN 4810 4760 T7 = VAL(REPLY$) 4770 IF T7 >= 0 AND T7 <= MAX.PER THEN 4790 4780 LOCATE 22,1 : PRINT "Number out of Range"; : GOTO 4700 4790 LOCATE 22,1 : PRINT SPACE$(79); 4800 GOSUB 3300 4810 LOCATE 23,1 : PRINT SPACE$(79); 4820 LOCATE 23,1 4830 PRINT "Enter the Person's Birth-date as: dd Mmm yyyy: "; 4840 LINE INPUT REPLY$ 4850 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4860 IF REPLY$ = "/" THEN 5920 4870 IF REPLY$ = "" THEN 4910 4880 REPLY$ = LEFT$(REPLY$,11) 4890 RSET T8$ = REPLY$ 4900 GOSUB 3480 4910 LOCATE 23,1 : PRINT SPACE$(79); 4920 LOCATE 23,1 4930 PRINT "Enter the Person's Birth-city: "; 4940 LINE INPUT REPLY$ 4950 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 4960 IF REPLY$ = "/" THEN 5920 4970 IF REPLY$ = "" THEN 5000 4980 T9$ = LEFT$(REPLY$,18) 4990 GOSUB 3500 5000 LOCATE 23,1 : PRINT SPACE$(79); 5010 LOCATE 23,1 5020 PRINT "Enter the Person's Birth-county: "; 5030 LINE INPUT REPLY$ 5040 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5050 IF REPLY$ = "/" THEN 5920 5060 IF REPLY$ = "" THEN 5090 5070 T10$ = LEFT$(REPLY$,16) 5080 GOSUB 3520 5090 LOCATE 23,1 : PRINT SPACE$(79); 5100 LOCATE 23,1 5110 PRINT "Enter the Person's Birth-state or Country: "; 5120 LINE INPUT REPLY$ 5130 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5140 IF REPLY$ = "/" THEN 5920 5150 IF REPLY$ = "" THEN 5180 5160 T11$ = LEFT$(REPLY$,16) 5170 GOSUB 3540 5180 LOCATE 23,1 : PRINT SPACE$(79); 5190 LOCATE 23,1 5200 PRINT "Enter the Person's Death-date as: dd Mmm yyyy: "; 5210 LINE INPUT REPLY$ 5220 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5230 IF REPLY$ = "/" THEN 5920 5240 IF REPLY$ = "" THEN 5280 5250 REPLY$ = LEFT$(REPLY$,11) 5260 RSET T12$ = REPLY$ 5270 GOSUB 3560 5280 LOCATE 23,1 : PRINT SPACE$(79); 5290 LOCATE 23,1 5300 PRINT "Enter the Person's Death-city: "; 5310 LINE INPUT REPLY$ 5320 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5330 IF REPLY$ = "/" THEN 5920 5340 IF REPLY$ = "" THEN 5370 5350 T13$ = LEFT$(REPLY$,18) 5360 GOSUB 3580 5370 LOCATE 23,1 : PRINT SPACE$(79); 5380 LOCATE 23,1 5390 PRINT "Enter the Person's Death-county: "; 5400 LINE INPUT REPLY$ 5410 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5420 IF REPLY$ = "/" THEN 5920 5430 IF REPLY$ = "" THEN 5460 5440 T14$ = LEFT$(REPLY$,16) 5450 GOSUB 3600 5460 LOCATE 23,1 : PRINT SPACE$(79); 5470 LOCATE 23,1 5480 PRINT "Enter the Person's Death-state or Country: "; 5490 LINE INPUT REPLY$ 5500 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5510 IF REPLY$ = "/" THEN 5920 5520 IF REPLY$ = "" THEN 5550 5530 T15$ = LEFT$(REPLY$,16) 5540 GOSUB 3620 5550 LOCATE 23,1 : PRINT SPACE$(79); 5560 LOCATE 23,1 5570 PRINT "Enter the Person's Burial-date as: dd Mmm yyyy: "; 5580 LINE INPUT REPLY$ 5590 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5600 IF REPLY$ = "/" THEN 5920 5610 IF REPLY$ = "" THEN 5650 5620 REPLY$ = LEFT$(REPLY$,11) 5630 RSET T16$ = REPLY$ 5640 GOSUB 3640 5650 LOCATE 23,1 : PRINT SPACE$(79); 5660 LOCATE 23,1 5670 PRINT "Enter the Person's Burial-city: "; 5680 LINE INPUT REPLY$ 5690 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5700 IF REPLY$ = "/" THEN 5920 5710 IF REPLY$ = "" THEN 5740 5720 T17$ = LEFT$(REPLY$,18) 5730 GOSUB 3660 5740 LOCATE 23,1 : PRINT SPACE$(79); 5750 LOCATE 23,1 5760 PRINT "Enter the Person's Burial-county: "; 5770 LINE INPUT REPLY$ 5780 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5790 IF REPLY$ = "/" THEN 5920 5800 IF REPLY$ = "" THEN 5830 5810 T18$ = LEFT$(REPLY$,16) 5820 GOSUB 3680 5830 LOCATE 23,1 : PRINT SPACE$(79); 5840 LOCATE 23,1 5850 PRINT "Enter the Person's Burial-state or Country: "; 5860 LINE INPUT REPLY$ 5870 IF REPLY$ = CHR$(34)+" "+CHR$(34) THEN REPLY$ = " " 5880 IF REPLY$ = "/" THEN 5920 5890 IF REPLY$ = "" THEN 5920 5900 T19$ = LEFT$(REPLY$,16) 5910 GOSUB 3700 5920 REM Input is complete, now see if user wants to save the data 5930 LOCATE 24,1 : PRINT SPACE$(79); 5940 LOCATE 23,1 : PRINT SPACE$(79); 5950 LOCATE 23,1 5960 LINE INPUT "Type s (save), m (more), or f (forget): ";REPLY$ 5970 IF LEFT$(REPLY$,1) = "m" THEN LOCATE 23,1 : PRINT SPACE$(79); : GOTO 3960 5980 IF LEFT$(REPLY$,1) = "M" THEN LOCATE 23,1 : PRINT SPACE$(79); : GOTO 3960 5990 IF LEFT$(REPLY$,1) = "f" THEN KEY ON : CLS : KEY OFF : GOTO 2030 6000 IF LEFT$(REPLY$,1) = "F" THEN KEY ON : CLS : KEY OFF : GOTO 2030 6010 IF LEFT$(REPLY$,1) = "s" THEN LOCATE 22,1 : PRINT SPACE$(79); : GOTO 6050 6020 IF LEFT$(REPLY$,1) = "S" THEN LOCATE 22,1 : PRINT SPACE$(79); : GOTO 6050 6030 LOCATE 22,1 : PRINT "Error in reply"; 6040 GOTO 5940 6050 REM Routine to SAVE the newly updated record 6060 T1! = T1 : LSET F1$ = MKS$(T1!) 6070 LSET F2$ = T2$ 6080 LSET F3$ = T3$ 6090 LSET F4$ = LEFT$(T4$,1) 6100 LSET F5$ = MKS$(T5!) 6110 T6! = T6 : LSET F6$ = MKS$(T6!) 6120 T7! = T7 : LSET F7$ = MKS$(T7!) 6130 RSET F8$ = T8$ 6140 LSET F9$ = T9$ 6150 LSET F10$ = T10$ 6160 LSET F11$ = T11$ 6170 RSET F12$ = T12$ 6180 LSET F13$ = T13$ 6190 LSET F14$ = T14$ 6200 LSET F15$ = T15$ 6210 RSET F16$ = T16$ 6220 LSET F17$ = T17$ 6230 LSET F18$ = T18$ 6240 LSET F19$ = T19$ 6250 PUT #1, REC.NO 6260 KEY ON : CLS : KEY OFF 6270 GOTO 2030 6280 CLOSE #1 6290 KEY ON : CLS : KEY OFF : LOCATE 21,1 6300 PRINT "End of Program" 6310 RUN DD.MENU$+"menu" 6320 REM Blank out a negative record 6330 T2$ = "" 6340 T3$ = "" 6350 T4$ = "" 6360 T5 = 0 6370 T6 = 0 6380 T7 = 0 6390 T8$ = SPACE$(11) 6400 T9$ = "" 6410 T10$ = "" 6420 T11$ = "" 6430 T12$ = SPACE$(11) 6440 T13$ = "" 6450 T14$ = "" 6460 T15$ = "" 6470 T16$ = SPACE$(11) 6480 T17$ = "" 6490 T18$ = "" 6500 T19$ = "" 6510 RETURN